iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
2

哈嘍,大家好

今天學習了 git branch

可以先看到下面這張圖
git branch 創立分支

假設我有一個參與的專案並且已經上線,專案本身有兩個 commit 紀錄,masterHEAD 都在第二個 commit 上。
那我今天想改個 bug ,又不想要改出來的東西被我改壞掉以至於整個專案被我毀掉的話,我就需要去開一個分支出來,在這個上面我想幹嘛就幹嘛,不會去影響到 commit 的紀錄,待確認完全沒問題後再合併到 master 裡去。


今天流程請見圖:

Step 1. 開分支
git branch 創立分支

Step 2. 把 HEAD 移到 分支
git branch 創立分支

Step 3. commit 分支
git branch 創立分支

Step 4. 把 HEAD 移到 master
git branch 創立分支


#開分支

首先,打開終端機並進入昨天練習的目錄(昨天有練習了兩個 commit 的 project)
輸入 git branch 分支名稱
git branch 分支名稱

使用 git branchHEAD 目前在哪裡,會發現我有兩個分支, HEADmaster

git branch 看 HEAD 目前在哪裡

如果我要把 HEAD 切換到 ggg 上的話如何操作呢?

使用 git checkout 分支名稱 (昨天最後有補充到 git checkout 有切換分支作用)
git checkout 分支名稱

再使用 git branch 看我的 HEAD
git branch 看 HEAD 目前在哪裡
--到 ggg 惹~


先看一下我的 masterindex.html 的樣子
https://ithelp.ithome.com.tw/upload/images/20190921/201199238xkuxBeiP2.png
--只有一個 h1 標籤

那我去修改我的 index.html (這時我的 HEAD 是在 ggg 上喲)
https://ithelp.ithome.com.tw/upload/images/20190921/20119923GaXmGPsCg2.png
--新增了 h2 標籤

使用 git status 會看到我編輯了一個檔案
git status 查詢狀態

確認無誤後我就加入索引並作 commit 紀錄

如果我把 HEAD 移到 master 上,就會看到我的 html 變回原來的樣子
git checkout 分支
--哇嗚~好神奇(✪ω✪)

/補充說明/

做完圖才發現 HEAD 是空心的喇,這點明天開始改進 ><

想把分支改名...

使用 -m 的參數就可以改名嚕!
git branch -m
git branch -m
--掰惹畏, master 也可以改名喲~

想把分支刪除...

使用 -d 的參數即可刪除
git branch -d 把分支刪除
--登愣~無法刪除! 醜一XDDDDD

可以看到 Git 很貼心的跟你說因為這個分支還沒完全合併所以不給刪,如果要刪除的話要使用 D 也就是大 d 來刪除
git branch -d 把分支刪除
--哦耶,刪掉惹~

如果發現不給刪的情況,請確認 **HEAD** 是不是在那個分支上喲( • ̀ω•́ )

想把切換到那個分支去,結果居然沒有...

這時使用 -b 的參數就會幫你建立新的分支喲!
輸入 git checkout -b 新的分支名稱 就可囉!
git checkout -b 新的分支名稱


以上,明天再繼續學習:)


上一篇
Day19【Git與GitHub】什麼是分支、HEAD
下一篇
Day21【Git與GitHub】 git merge 合併分支(快轉合併)
系列文
Git與Github-30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2020-01-07 09:43:18

branch \0.0/

我要留言

立即登入留言